<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
  </head>
  <body>
    <script>
      // 创建一个对象
      const obj = {};

      // 使用 Object.defineProperty 定义一个不可配置和不可写的属性
      Object.defineProperty(obj, "readOnlyProp", {
        value: "initialValue",
        writable: false, // 使属性不可写
        configurable: false, // 使属性不可配置
      });

      // 输出初始值
      console.log(obj.readOnlyProp); // 输出: initialValue

      // 尝试修改属性的值
      obj.readOnlyProp = "newValue";

      // 输出修改后的值
      console.log(obj.readOnlyProp); // 输出: initialValue

      // 尝试删除属性
      delete obj.readOnlyProp;

      // 检查是否成功删除属性
      console.log(delete obj.readOnlyProp); // 输出: false

      // 输出属性是否存在于对象中
      console.log("readOnlyProp" in obj); // 输出: true
    </script>
  </body>
</html>
